#ifndef NAVIGATION_BAR_H
#define NAVIGATION_BAR_H

#include "lvgl.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
 * 创建通用 Navigation Bar
 * @param parent 父对象
 * @param title 标题文本
 * @param back_title 返回按钮标题
 * @param bg_color 背景颜色
 * @param title_color 标题字体颜色，例如lv_color_white()
 * @param back_cb 返回按钮点击事件
 * @param title_font 标题字体，例如LV_FONT_DEFAULT
 */
lv_obj_t *back_nav_bar_create(lv_obj_t *parent,
                        const char *title,
                        const char *back_title,
                        lv_color_t bg_color,
                        lv_color_t title_color,
                        lv_event_cb_t back_cb,
                        const lv_font_t *title_font);
/**
 * 创建普通 Navigation Bar
 * @param parent 父对象
 * @param title 标题文本
 * @param back_cb 返回按钮点击事件
 * @return 导航栏对象 (lv_obj_t *)
 */
lv_obj_t *normal_nav_bar_create(lv_obj_t *parent,
                                const char *title,
                                lv_event_cb_t back_cb);

/**
 * 创建一个带返回按钮和标题的导航栏
 * @param parent 父对象
 * @param title 标题文本（可为 NULL）
 * @param back_img_src 返回按钮图片资源（LV_IMG_DECLARE 生成的）（可为 NULL）
 * @param bg_color 背景颜色
 * @param title_color 标题字体颜色，例如lv_color_white()
 * @param back_cb 返回按钮点击事件
 * @param title_color 标题文字颜色
 * @param title_font 标题字体，例如LV_FONT_DEFAULT
 * @return 导航栏对象 (lv_obj_t *)
 */
lv_obj_t *nav_bar_create(lv_obj_t *parent,
                        const char *title,
                        const void *back_img_src,
                        lv_color_t bg_color,
                        lv_color_t title_color,
                        lv_event_cb_t back_cb,
                        const lv_font_t *title_font);

/**
 * 创建图片 Navigation Bar
 * @param parent 父对象
 * @param title 标题文本
 * @param back_img_src 左侧按钮图标
 * @param back_cb 返回按钮点击事件
 * @return 导航栏对象 (lv_obj_t *)
 */
lv_obj_t *img_bar_create(lv_obj_t *parent,
                        const char *title,
                        const void *back_img_src,
                        lv_event_cb_t back_cb);
#ifdef __cplusplus
}
#endif

#endif // NAVIGATION_BAR_H
